\chapter{algorithms }
\hypertarget{md__c_1_2_users_2_a_s_u_s_2_desktop_2dm-ctrl_h7-balance-9025test_2modules_2algorithm_2algorithm}{}\label{md__c_1_2_users_2_a_s_u_s_2_desktop_2dm-ctrl_h7-balance-9025test_2modules_2algorithm_2algorithm}\index{algorithms@{algorithms}}
\label{md__c_1_2_users_2_a_s_u_s_2_desktop_2dm-ctrl_h7-balance-9025test_2modules_2algorithm_2algorithm_autotoc_md37}%
\Hypertarget{md__c_1_2_users_2_a_s_u_s_2_desktop_2dm-ctrl_h7-balance-9025test_2modules_2algorithm_2algorithm_autotoc_md37}%




\href{mailto:neozng1@hnu.edu.cn}{\texttt{neozng1@hnu.\+edu.\+cn}}

\begin{quote}
TODO\+:
\begin{DoxyEnumerate}
\item 实现麦轮和全向轮的速度解算
\item 实现一些通用的滤波器，如指数平均，窗平均，低通等 
\end{DoxyEnumerate}\end{quote}
\hypertarget{md__c_1_2_users_2_a_s_u_s_2_desktop_2dm-ctrl_h7-balance-9025test_2modules_2algorithm_2algorithm_autotoc_md38}{}\doxysection{\texorpdfstring{总览和使用}{总览和使用}}\label{md__c_1_2_users_2_a_s_u_s_2_desktop_2dm-ctrl_h7-balance-9025test_2modules_2algorithm_2algorithm_autotoc_md38}
module层的algorithm提供了一些供其他模块以及app的应用层使用的算法，包括：


\begin{DoxyEnumerate}
\item PID控制器{\ttfamily \doxylink{controller_8h}{controller.\+h}}
\item crc8 crc16循环冗余校验
\item 卡尔曼滤波器{\ttfamily \doxylink{kalman__filter_8h_source}{kalman\+\_\+filter.\+h}}，可以通过用户自定义函数配置为扩展卡尔曼滤波
\item {\ttfamily LQR.\+h}，线性二次型调节器
\item {\ttfamily Quaternino\+EKF.\+h}，用于{\ttfamily ins\+\_\+task}的四元数姿态解算和扩展卡尔曼滤波融合
\item {\ttfamily \doxylink{user__lib_8h}{user\+\_\+lib.\+h}}，一些通用的函数，包括限幅、数据类型转换、角度弧度转换、快速符号判断以及优化开方等功能。多个模块都会使用的、不好区分的函数可以放置于此
\end{DoxyEnumerate}\hypertarget{md__c_1_2_users_2_a_s_u_s_2_desktop_2dm-ctrl_h7-balance-9025test_2modules_2algorithm_2algorithm_autotoc_md39}{}\doxysection{\texorpdfstring{代码结构}{代码结构}}\label{md__c_1_2_users_2_a_s_u_s_2_desktop_2dm-ctrl_h7-balance-9025test_2modules_2algorithm_2algorithm_autotoc_md39}
.c 为算法的实现，.\+h为算法对外接口的头文件

在编写应用的时候，你基本不会使用这里的函数，或是修改其实现。

若发现bug或需要增加功能，联系组长讨论。 